﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using PEMS.Common;

namespace PEMS.Server
{
    [Serializable]
    public class Kurzus
    {
        public string id { get; set; }
        public string megnevezes { get; set; }
        public Targy targy { get; set; }
        public Tanar oktato { get; set; }
        //private Felev _felev;


        /// <summary>
        /// 
        /// </summary>
        public SerializableDictionary<string, KurzusTagsag> kurzusTagList { get; set; }

        public SerializableDictionary<string, VizsgaIdopont> vizsgaidopontList{ get; set; }

        public Kurzus()
        {
            kurzusTagList = new SerializableDictionary<string, KurzusTagsag>();
            vizsgaidopontList = new SerializableDictionary<string, VizsgaIdopont>();
        }
        public string KurzusTagsaggyartas(FelevJelentkezes e)
        {
            string ret = "";
            try
            {
                KurzusTagsag kurzusTagsag = new KurzusTagsag();
                kurzusTagsag.jelentkezesIdopont = DateTime.Now;
                kurzusTagsag.felevJelentkezes = e;

                //növeljük a kurzus tárgyának hallgatókat nyilvántartó számlálóját
                if (!targy.felvetelekSzama.ContainsKey(e.hallgato.userName))
                {
                    targy.felvetelekSzama.Add(e.hallgato.userName,1);
                }
                else
                {
                    targy.felvetelekSzama[e.hallgato.userName]++;
                }
                
                kurzusTagsag.teszt = "aaaaaaaaaaaaaa";


                //a kurzustagságot felfűzzük a kurzus tárolójába
                kurzusTagList.Add(e.hallgato.userName, kurzusTagsag);
                ret = "Kurzus felvéve!";
            }
            catch{
                return "Csak hallgato jelentkezhet a kurzusra!";
            }
            return ret;
        }

        public void Vizsgaidopontgyartas()
        {
            //vizsgaidőpontot is készítünk
            VizsgaIdopont vizsgaIdopont = new VizsgaIdopont();
            vizsgaIdopont.idopont = DateTime.Now;
            vizsgaIdopont.maxLetszam = 2;

            //a vizsgaidőpontot felfűzzük a kurzus tárolójába
            vizsgaidopontList.Add("1", vizsgaIdopont);
        }
        
    }
}
